package com.spring.lo.framework.factory.support;

import java.util.List;

/**
 * 单例Bean的注册中心
 * @author zhangbh
 * 2023-05-28 17:27
 **/
public interface SingletonBeanRegistry {

    /**
     * 注册单例Bean
     * @param beanName 标识
     * @param singletonBean 单例Bean实例
     */
    void registerSingleton(String beanName, Object singletonBean);

    /**
     * 获取单例Bean
     * @param beanName 标识
     * @return Bean实例
     */
    Object getSingleton(String beanName);

    /**
     * 获取所有的Bean标识
     * @return 已经加载的Bean
     */
    List<String> getSingletonNames();
}
